<?php
/**
 * 短链访问入口
 * Class UrlAction
 */

class UrlAction
{

    public function doIndex()
    {
        $key = $_REQUEST['id'];

        $args = UrlUtil::parseShortUrl($key);

        $channelid = $args['channelid'];

        if ($channelid != 10000) {
            self::show('/static/tpl/error/info.html', '页面丢失了~~');
        }

        $UriCache = new UriCache();
        $uri = $UriCache->getUriCache($key);
        if (empty($uri['url'])){
            self::show('/static/tpl/error/info.html', '页面丢失了~~');
        }
        $url = $uri['url'];
        //计算pv
        $uriModule = new UriModule();
        $uriModule->updateUriPv($key);
        //访问日志
        $ip = IP::getIP();
        $pvData = array(
            'key' => $key,
            'ip' => $ip,
            'insertymd' => date('Ymd'),
            'inserttime' => time(),
        );
        $uriModule->addUriPv($pvData);

        // IOS系统处理
        if (in_array(PlatformUtil::thisPlatform(), array(PlatformUtil::IPAD, PlatformUtil::IPHONE, PlatformUtil::MAC))) {
            if (PlatformUtil::thisBrowser() == PlatformUtil::WECHAT) {
                //微信
                self::show('/static/tpl/error/tip.html');
            }

            UrlUtil::headTo($url);

            if (PlatformUtil::thisBrowser() == PlatformUtil::QQ && !CommonUtil::isqqmbrowser()) {
                // IOS QQ
                self::show('/static/tpl/error/tip.html');
            }
            UrlUtil::headTo($url);
        }

        // Android系统处理
        if (PlatformUtil::thisPlatform() == PlatformUtil::ANDROID && !empty($chlAppInfo['urlapk'])) {

            if (PlatformUtil::thisBrowser() == PlatformUtil::WECHAT) {
                // 安卓微信
                self::show('/static/tpl/error/tip.html');
            }
            UrlUtil::headTo($url);

        } else {
            if (PlatformUtil::thisBrowser() == PlatformUtil::WECHAT) {
                // 安卓微信
                self::show('/static/tpl/error/tip.html');
            }
            UrlUtil::headTo($url);
        }
    }

    /**
     * [show description]
     * @param  [type] $tpl  [description]
     * @param  [type] $vars [description]
     * @return [type]       [description]
     */
    private static function show($tpl, $info = null) {
        include APP_ROOT . $tpl;
        exit();
    }
}
